/*******************************************************************************
* Project: QSAR(Cute Software Architecture)
*
* Copyright: Copyright(C) 2024 by YuetingBen, All Rights Reserved
*
* File name: CanIfRte.h
*
* Brief: ;
*
* Author: Yueting.Ben
*
* Module: CanIf
*
*******************************************************************************/

#ifndef CANIFRTE_H
#define CANIFRTE_H

/** HEADER FILES **/
#include "ComStackCfg.h"
#include "CanDrvType.h"
#include "CanTpType.h"
#include "CanTrcvType.h"
#include "Can.h"
#include "EcuMType.h"
#include "PduRCanIfCfg.h"


/** GLOBAL FUNCTION DECLARATION **/
extern Std_ReturnType Can_Write (
    Can_HwHandleType Hth,
    const Can_PduType* PduInfo
);

extern Std_ReturnType Can_SetControllerMode(
    uint8 Controller, 
    Can_ControllerStateType Transition
);

extern void PduR_CanIfRxIndication(
    PduIdType RxPduId, 
    const PduInfoType* PduInfoPtr
);

extern void PduR_CanIfTxConfirmation(
    PduIdType TxPduId, 
    Std_ReturnType result
);

extern void CanTp_RxIndication(
    PduIdType RxPduId,
    const PduInfoType* PduInfoPtr
);

extern void CanNm_RxIndication(
    PduIdType RxPduId, 
    const PduInfoType* PduInfoPtr
);

extern void Xcp_CanIfRxIndication( 
  PduIdType RxPduId, 
  const PduInfoType* PduInfoPtr 
);

#endif
